With the reduction in the size of NAND flash storage devices, the endurance of the NAND flash storage devices has also decreased as compared with previous generations of NAND flash storage devices. The reduction in endurance is due to smaller floating gate areas and a decrease in an amount of electron charges that are responsible for storing data. In order to increase an endurance of current NAND flash storage systems, the storage system may utilize wear leveling that attempts to maintain all NAND memory blocks at approximately the same endurance condition. In one example, a storage device controller may count a number of write and erase cycles to each NAND memory blocks and store data into the least used memory blocks. In another example, a storage device controller measures an error condition of the memory blocks and writes data to the data block with the best error condition. Additional wear leveling techniques are desirable that further increase the endurance of NAND flash storage devices.